function formatTimeAgo(startTime, endTime = new Date()) {
    // 统一转为时间戳（兼容Date对象和数字）
    const start = new Date(startTime).getTime();
    const end = new Date(endTime).getTime();
    
    // 计算时间差（毫秒）
    const diff = end - start;
    if (diff < 0) return "未来时间"; // 处理时间倒流
    
    // 时间差转换为秒/分/时/天
    const seconds = Math.floor(diff / 1000);
    const minutes = Math.floor(seconds / 60);
    const hours = Math.floor(minutes / 60);
    const days = Math.floor(hours / 24);
    
    // 根据时间差返回不同格式
    if (seconds < 10) return "刚刚";
    if (seconds < 60) return `${seconds}秒前`;
    if (minutes < 10) return "1分钟前";
    if (minutes < 30) return `${minutes}分钟前`;
    if (minutes < 60) return "30分钟前";
    if (hours < 5) return "1小时前";
    if (hours < 24) return `${hours}小时前`;
    if (days === 1) return "昨天";
    if (days < 7) return `${days}天前`;
    if (days < 30) return `${Math.floor(days / 7)}周前`;
    if (days < 365) return `${Math.floor(days / 30)}个月前`;
    return `${Math.floor(days / 365)}年前`;
}

console.log()